// networkmanager.h
#ifndef NETWORKMANAGER_H
#define NETWORKMANAGER_H

#include <QTcpSocket>
#include <QObject>

class NetworkManager : public QObject
{
    Q_OBJECT

public:
    static NetworkManager* instance();  // 单例模式
    QTcpSocket* getSocket();            // 获取全局 socket

private:
    explicit NetworkManager(QObject *parent = nullptr);
    QTcpSocket *tcpSocket;
};

#endif // NETWORKMANAGER_H

/*
 *  使用示例:
 *  // 在某个界面中使用全局 tcpSocket
    void SomeWidget::someFunction()
    {
        QTcpSocket *tcpSocket = NetworkManager::instance()->getSocket();
        connect(tcpSocket, &QTcpSocket::readyRead, this, &SomeWidget::handleData);
        // 使用 tcpSocket 执行其他操作，如发送数据等
    }
    // 每个界面只连接和处理自己的信号槽，避免混淆。
    void SomeWidget::handleData()
    {
        QTcpSocket *tcpSocket = NetworkManager::instance()->getSocket();
        QByteArray data = tcpSocket->readAll();
        // 处理来自服务器的响应数据
    }
*
*/
